/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Clases;

import Clases.Usuario;
import Controladores.GradoJpaController;
import Controladores.UsuarioJpaController;
import escuela.conexion;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;
import javax.swing.JOptionPane;
import escuela.conexion;

/**
 *
 * @author hC4stillo
 * esta clase se encarga de la creacion del control de distintas situaciones dentro del sistema
 */

public class Control {

    public boolean hContraCorrecta;
    public boolean hAdmin;
    public int hId;
    public String hNombreCat;
    public String hApCat;
    public Control()
    {
        this.hAdmin=false;
        this.hContraCorrecta=false;
        this.hId=0;
        this.hNombreCat=null;
        this.hApCat=null;
    }
    /*
     * se encarga de la verificacion de usuarios para esto se utilizan los atributos de la clase hContraCorrecta y hAdmin
     */
    public void verificarUsuario(String hUsuario, String hContra)
    {
        EntityManagerFactory emf = conexion.ObtenerInstancia().ObtenerEMF();
        //UsuarioJpaController ujc = new UsuarioJpaController();
        EntityManager em = emf.createEntityManager();
        Query q=em.createQuery("SELECT u FROM Usuario u WHERE u.nombreUsuario = '"+hUsuario+"'");
        //q.setParameter("USER", hUsuario);
        Usuario hUser = (Usuario) q.getSingleResult();
        if(hUser.getContraseña() == null ? hContra == null : hUser.getContraseña().equals(hContra))
            this.hContraCorrecta = true;
        else
            this.hContraCorrecta = false;
        this.hAdmin=hUser.getAdministrador();
        this.hId=hUser.getIdUsuario();

    }
    /*
     * se encarga de obtener el nombre del catedratico que se ha logueado
     */
    public void nombreCat()
    {
        EntityManagerFactory emf = conexion.ObtenerInstancia().ObtenerEMF();
       // UsuarioJpaController ujc = new UsuarioJpaController();
        EntityManager em = emf.createEntityManager();
        Query q=em.createQuery("SELECT c FROM Catedratico c WHERE c.idCatedratico = "+hId);
        Catedratico hCa= (Catedratico) q.getSingleResult();
        this.hNombreCat=hCa.getNombres();
        this.hApCat=hCa.getApellidos();
        //JOptionPane.showMessageDialog(null, hCa.getNombres());
    }

}
